Grammatica XML FMPXMLRESULT

La grammatica FMPXMLRESULT contiene informazioni supplementari sul database che non sono contenute nella grammatica FMPDSORESULT, quali il numero di record, i tipi di record e i formati dei campi. I dati XML utilizzano questi elementi e attributi per eseguire la verifica correttamente.

Utilizzare la grammatica FMPXMLRESULT per ottenere le informazioni METADATA fornite da questa grammatica. Poiché in FileMaker Pro sono supportate sia l'importazione sia l'esportazione nella grammatica FMPXMLRESULT, questo formato è utile per trasferire i dati tra i file di FileMaker Pro.

Nota  La grammatica FMPXMLRESULT non è molto adatta per essere utilizzata con i fogli di stile sovrapposti (CSS). Utilizzare la grammatica FMPDSORESULT per usare i fogli di stile sovrapposti con i dati XML.

Nella grammatica FMPXMLRESULT, l'elemento DATABASE contiene gli attributi NAME, RECORDS, DATEFORMAT, LAYOUT e TIMEFORMAT.

L'attributo DATEFORMAT specifica il formato della data nel documento XML.

Campo

Formato esteso

Formato breve

Anno

aaaa (4 cifre)

aa (2 cifre)

Mese

mm (2 cifre)

M (1 o 2 cifre)

Giorno

gg (2 cifre)

g (1 o 2 cifre)

L'attributo TIMEFORMAT specifica il formato dell'ora nel documento XML.

Campo

Formato esteso

Formato breve

Ore (1 -12)

hh (2 cifre)

h (1 o 2 cifre)

Ore (1 -24)

kk (2 cifre)

k (1 o 2 cifre)

Minuti

mm

 

Secondi

ss

 

AM/PM

a

 

L'elemento METADATA contiene uno o più elementi FIELD, ognuno dei quali contiene informazioni per uno dei campi/colonne, compresi il nome del campo definito nel database, il tipo di campo, l'autorizzazione Yes o No per i campi vuoti (attributo EMPTYOK) e il numero massimo di valori multipli (attributo MAXREPEAT). I valori validi per i tipi di campo sono TEXT, NUMBER, DATE, TIME, TIMESTAMP e CONTAINER.

L'elemento RESULTSET contiene tutti gli elementi ROW che definiscono i dati del record nell'origine XML. Ogni elemento ROW contiene i dati del campo o della colonna per una riga nel gruppo di risultati, compresi l'ID record e l'ID modifica della riga, mentre l'elemento COL contiene i dati del campo o della colonna nella riga (dove gli elementi multipli DATA rappresentano uno dei valori nel campo multiplo o del portale).

L'esportazione XML non supporta l'esportazione dei dati dei campi Contenitore.

L'ordine degli elementi COL corrisponde all'ordine degli elementi FIELD nell'elemento METADATA; ad esempio, l'ordine in cui sono elencati gli elementi "First Name", "Last Name" e "Department" nell'elemento METADATA è lo stesso in cui "Joe", "Smith" e "Engineering" sono elencati in RESULTSET ROW.

Note

Prima di importare i dati XML, FileMaker Pro utilizza un parser XML basato su Xerces e un elaboratore XSLT basato su Xalan per verificare che non vi siano i seguenti errori nei dati XML (o XSL):

Verifica che la composizione di XML sia corretta. Per ulteriori informazioni vedere le specifiche XML all'indirizzo: http://www.w3.org/XML/.

Verifica l'origine dei dati XML in entrata rispetto alle impostazioni DTD (Document Type Definition) corrispondenti, se disponibili.

Se si specifica un foglio di stile XSLT, lo applica per trasformare l'XML.

Verifica l'origine XML rispetto alle impostazioni DTD FMPXMLRESULT pubblicate da FileMaker.

Quando i dati XML sono in formato FMPXMLRESULT ed è in corso la verifica rispetto alle impostazioni DTD di FileMaker, gli XML non possono contenere impostazioni DTD interne. Qualsiasi impostazione DTD interna (anche se si tratta di impostazioni DTD FMPXMLRESULT) provoca la generazione di un messaggio di errore da parte del parser e l'interruzione del processo di importazione. I dati XML possono contenere riferimenti a qualsiasi impostazione DTD esterna, che però il parser ignorerà a favore delle impostazioni DTD FMPXMLRESULT.

Anche se i dati XML importati devono essere conformi alla grammatica FMPXMLRESULT, alcuni elementi e attributi non vengono utilizzati durante l'importazione. I dati XML utilizzano questi elementi e attributi per eseguire la verifica correttamente. Nella tabella seguente sono definiti gli elementi e gli attributi utilizzati durante l'importazione XML e vengono elencati i valori predefiniti per gli attributi. In molti casi i valori degli attributi possono essere nulli (ad esempio TIMEFORMAT=""), ma occorre specificare un valore per gli attributi TYPE e EMPTYOK. Inoltre, l'elemento FMPXMLRESULT deve sempre dichiarare il namespace FileMaker per la grammatica.

 

Elemento

Attributi

Usato durante l'importazione XML

Valore predefinito

FMPXMLRESULT

 

xmlns="http://www.filemaker.com/ fmpxmlresult"

ERRORCODE

 

No

 

PRODUCT

 

No

" "

 

NAME

No

" "

 

VERSION

No

" "

 

BUILD

No

" "

DATABASE

 

No

 

 

NAME

No

" "

 

RECORDS

No

" "

 

DATEFORMAT

No

" "

 

TIMEFORMAT

No

" "

 

LAYOUT

No

" "

METADATA

 

 

    FIELD

 

 

 

NAME

" "

 

TYPE

"TEXT", "DATE", "NUMBER", "TIME", "TIMESTAMP", o "CONTAINER""

 

EMPTYOK

No

"YES" o "NO"

 

MAXREPEAT

No

" "

RESULTSET

 

 

 

FOUND

No

" "

    ROW

 

 

 

RECORDID

No

" "

 

MODID

No

" "

    COL

 

 

      DATA

 

 

Esempio di dati XML nella grammatica FMPXMLRESULT

Di seguito è riportato un esempio di dati XML generati con la grammatica FMPXMLRESULT. Per informazioni dettagliate sulla definizione del tipo di documento (DTD) per la grammatica, vedere il file fmpxmlresult_dtd.htm che si trova nella cartella Extra della propria lingua, nella cartella in cui è installata l'applicazione FileMaker Pro.

<?xml version="1.0" encoding="UTF-8"?>
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
   <ERRORCODE>0</ERRORCODE>
   <PRODUCT BUILD="5/23/2002" NAME="FileMaker Pro"
   VERSION="7.0"/>
   <DATABASE DATEFORMAT="MM/dd/yy" LAYOUT="summary"
   NAME="Employees.fp7" RECORDS="23" TIMEFORMAT="hh:mm:ss"/>
   <METADATA>
      <FIELD EMPTYOK="NO" MAXREPEAT="1" NAME="First Name" TYPE="TEXT"/>
      <FIELD EMPTYOK="NO" MAXREPEAT="1" NAME="Last Name" TYPE="TEXT"/>
      <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Department" TYPE="TEXT"/>
   </METADATA>
   <RESULTSET FOUND="2">
      <ROW MODID="47" RECORDID="34">
         <COL>
            <DATA>Joe</DATA>
         </COL>
         <COL>
            <DATA>Smith</DATA>
         </COL>
         <COL>
            <DATA>Engineering</DATA>
         </COL>
      </ROW>
      <ROW MODID="89" RECORDID="78">
         <COL>
            <DATA>Susan</DATA>
         </COL>
         <COL>
            <DATA>Jones</DATA>
         </COL>
         <COL>
            <DATA>Marketing</DATA>
         </COL>
      </ROW>
   </RESULTSET>
</FMPXMLRESULT>